import cv2


def main():
    # 创建 VideoCapture 对象，参数 0 表示打开默认的摄像头
    cap = cv2.VideoCapture(0)

    # 检查摄像头是否成功打开
    if not cap.isOpened():
        print("无法打开摄像头")
        return

    print("按 'q' 键退出")

    while True:
        # 逐帧捕获
        ret, frame = cap.read()

        # 如果读取帧正确，则 ret 为 True
        if not ret:
            print("无法接收来自摄像头的帧 (可能已经到达视频末尾)。退出 ...")
            break

        # 显示结果帧
        cv2.imshow('摄像头', frame)

        # 按 'q' 键退出循环
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break

    # 完成所有操作后释放 VideoCapture 对象
    cap.release()
    cv2.destroyAllWindows()


if __name__ == "__main__":
    main()
